package proms.net.modelo.bean;

import java.sql.SQLException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import proms.net.modelo.comando.InterfaceComando;
import proms.net.modelo.dao.AcessoDAO;
import proms.net.modelo.dao.InterfaceUsuarioDAO;



public class EditarAcesso implements InterfaceComando {

	private InterfaceUsuarioDAO usuariooDAO;
	private AcessoDAO acessoDAO;
        private final InterfaceUsuarioDAO usuarioDAO;
	public EditarAcesso(InterfaceUsuarioDAO usuarioDAO,
			AcessoDAO acessoDAO) {
		super();
		this.usuarioDAO = usuarioDAO;
		this.acessoDAO = acessoDAO;
	}
	public String execute(HttpServletRequest request,
			HttpServletResponse response) {
		
		try {
			Integer codigo = Integer.parseInt(request.getParameter("codigo"));
			request.setAttribute("usuario", usuarioDAO.getUsuario(codigo));
			request.setAttribute("acessos", acessoDAO.getAcessosUsuario(codigo).values());
		} catch (NumberFormatException e) {
			request.setAttribute("mensagem", "C�digo inv�lido: "+request.getParameter("codigo"));
			
			return "SiscomController?cmd=editarFuncionario";
		} catch (SQLException e) {
			request.setAttribute("mensagem", "Problemas de acesso ao banco de dados: "+e.getMessage());
			
			return "SiscomController?cmd=editarFuncionario";
		}
		request.setAttribute("titulo", "Atualizar acessos");
		return "atualiza_acesso.jsp";
	}

}
